Vision systems that perform measurement, inspection, alignment of objects and/or decoding of symbology codes or marks (e.g. one-dimensional (1D) and two-dimensional (2D) DataMatrix bar codes, QR codes, DotCodes, etc.—also termed “IDs”) are used in a wide range of applications and industries. These systems are based around the use of an image sensor (also termed an “imager”), which acquires images (typically gray scale or color, and in one, two or three dimensions) of the subject or object, and processes these acquired images using an on-board or interconnected vision system processor. The processor generally includes both processing hardware and non-transitory computer-readable program instructions that perform one or more vision system processes to generate a desired output based upon the image's processed information. This image information is typically provided within an array of image pixels each having various colors and/or gray scale intensities. In the example of an ID reader (also termed herein, a “camera”), the user or automated process acquires an image of an object that is believed to contain one or more barcodes, 2D codes or other ID types. The image is processed to identify code features, which are then decoded by a decoding process and/or processor to obtain the inherent data represented by the code. This data can be alphanumeric and/or other data types.
When decoding IDs, one task is to rapidly find regions of the overall image that have a high-probability of containing such ID-like features. This “ID finding” procedure allows further processes, such as ID decoding, which are computationally intensive, to focus upon the regions that appear to contain probable ID targets. Thus, the time needed to process IDs is generally reduced, leading to generation of results more quickly and accurately. In the case of various forms of 2D ID codes, such as DataMatrix, QR and DotCode, the finding of code features can sometimes prove challenging. In broader vision system applications, a common task is to locate and analyze certain image features to derive various information, such as the relative location of that feature within a scene and/or motion of that feature through a scene.